package com.ningxun.rms.signup.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ningxun.rms.common.annotation.Excel;
import com.ningxun.rms.common.core.domain.BaseEntity;

/**
 * 报名信息对象 bus_signup
 *
 * @author rms
 * @date 2025-07-15
 */
@Data
public class BusSignup extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申请id，主键 */
    private Long signupId;

    /** 多个申请id，用于批量操作 */
    @TableField(exist = false)
    private List<Long> signupIds;

    /** 需求id */
    @Excel(name = "需求id")
    private Long requireId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String name;

    /** 性别：1-男，2-女，0-其他 */
    @Excel(name = "性别：1-男，2-女，0-其他")
    private Long gender;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 所属学院 */
    @Excel(name = "所属学院")
    private String college;

    /** 所学专业 */
    @Excel(name = "所学专业")
    private String major;

    /** 年级 */
    @Excel(name = "年级")
    private String grade;

    /** 报名文件URL */
    @Excel(name = "报名文件URL")
    private String fileUrl;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long approveStatus;
    @Excel(name = "userId")
    private Long userId;
    /** 审核id */
    @TableField(exist = false)
    private Long approveId;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date approveTime;

    @TableField(exist = false)
    private String approveReview;
    @TableField(exist = false)
    private Long deptId;
    /** 单位名称 - 用于搜索 */
    @TableField(exist = false)
    private String unit;

    /** 岗位名称 - 用于搜索 */
    @TableField(exist = false)
    private String post;
}
